package com.liang.mapper;


import com.liang.pojo.Roles;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *@作者:lsk
 *DAO接口
 *@Date:2023/07/13
*/
public interface RolesDAO<T,P> extends MyBaseMapperLSK<T,P> {

	/**
	根据RoleId查询
	*/
	public T selectByRoleId(@Param("roleId") Integer roleId);

	/**
	根据RoleId更新
	*/
	public Integer updateByRoleId(@Param("bean") T t);

	/**
	根据RoleId删除
	*/
	public Integer deleteByRoleId(@Param("roleId") Integer roleId);



	/**
	 insert:(插入)
	*/
	public Integer insert(@Param("bean") T t);


	/**
	 insertOrUpdate(插入或更新(根据主键或唯一索引更新，主键和唯一索引不会改变))
	*/
	public Integer insertOrUpdate(@Param("bean") T t);


	/**
	 insertBath:(批量插入)
	*/
	public Integer insertBatch(@Param("list") List<T> list);


	/**
	 insertOrUpdateBatch:(批量插入或更新)
	*/
	public Integer insertOrUpdateBatch(@Param("list") List<T> list);


	/**
	 selectList:(根据参数查询集合)
	*/
	public List<T> selectList(@Param("query") P p);


	/**
	 selectCount:(根据集合查询数量)
	*/
	public Long selectCount(@Param("query") P p);
}